﻿using System;
using System.Linq.Expressions;

namespace DoubleAspect
{
    public class Mock<T> : DoubleType<T>
    {
        public Mock()
        {
            Aspects.SaveHistory.Attach(this, x => true);
            Aspects.EmptyBodyReturnDefault.Attach(this, x => true);
        }

        public MemberBody Setup(Expression<Action<T>> expression)
        {
            return null;
        }

        public MemberBody Setup<TResult>(Expression<Func<T, TResult>> expression)
        {
            return null;
        }

        public void Verify<TResult>(Expression<Func<T, TResult>> expression, Times times)
        {
        }

        public void Verify(Expression<Action<T>> expression, Times times)
        {
        }
    }

    public class MemberBody
    {
    }
}
